package com.qianli.user.facade;

import com.fqgj.common.api.Response;
import com.qianli.common.enums.AppEnum;
import com.qianli.user.enums.ThirdPartLoginTypeEnum;
import com.qianli.user.ro.account.UserAccessRO;
import com.qianli.user.ro.account.UserLoginRO;
import com.qianli.user.ro.account.UserThirdPartRO;

import java.util.Map;

/**
 * name:用户信息 （注册、登录、密码等相关服务）
 * auth:ting.li@qianli-inc.com
 * date:2017/12/2114:27
 * version: v1.0.0
 **/
public interface UserServiceFacade {

    /**
     * 注册
     *
     * @param userLogin
     * @return
     */
    Response<UserAccessRO> register(UserLoginRO userLogin);

    /**
     * 登录
     *
     * @param userLogin
     * @return
     */
    Response<UserAccessRO> login(UserLoginRO userLogin);

    /**
     * 生成userCode
     *
     * @param mobile
     * @return
     */
    @Deprecated
    Response<String> produceUserCodeByMobile(String mobile);


    /**
     * 第三方登录
     *
     * @param userThirdPart
     * @return
     */
    @Deprecated
    Response<UserAccessRO> thirdPartLogin(UserThirdPartRO userThirdPart);

    /**
     * 三方社交登录（新）
     * @param userThirdPart
     * @return
     */
    Response<UserAccessRO> thirdSocialPartLogin(UserThirdPartRO userThirdPart);


    /**
     * 三方登录绑定手机号
     * @param userThirdPart
     * @return
     */
    @Deprecated
    Response<String> bindUserMobileByOpenId(UserThirdPartRO userThirdPart);

    /**
     * 三方社交登录绑定手机号
     * @param userThirdPart
     * @return
     */
    Response<UserAccessRO> bindUserMobileBySocialOpenId(UserThirdPartRO userThirdPart);

}
